kFullNotify = 0, /* This is the appleevent whole nine yards notify */
kFullDependencyNotify = 1 /* Only sends to those who want to know about interrelated functionality (used for updating UI) */
};
/* DisplayID/DeviceID constants */
enum {
kDummyDeviceID = 0x00FF, /* This is the ID of the dummy display, used when the last ``real'' display is disabled.*/
kInvalidDisplayID = 0x0000, /* This is the invalid ID*/
kFirstDisplayID = 0x0100
};
enum {
/* bits for panelListFlags */
kAllowDuplicatesBit = 0
};
enum {
/* bits for nameFlags */
kSuppressNumberBit = 0,
kSuppressNumberMask = 1,
kForceNumberBit = 1,
kForceNumberMask = 2,
kSuppressNameBit = 2,
kSuppressNameMask = 4
};
/* Constants for fidelity checks */
enum {
kNoFidelity = 0,
kMinimumFidelity = 1,
kDefaultFidelity = 500, /* I'm just picking a number for Apple default panels and engines*/
kDefaultManufacturerFidelity = 1000 /* I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)*/
};
enum {
kAnyPanelType = 0, /* Pass to DMNewEngineList for list of all panels (as opposed to specific types)*/
kAnyEngineType = 0, /* Pass to DMNewEngineList for list of all engines*/
kAnyDeviceType = 0, /* Pass to DMNewDeviceList for list of all devices*/
kAnyPortType = 0 /* Pass to DMNewDevicePortList for list of all devices*/
};
/* portListFlags for DM_NewDevicePortList */
enum {
/* Should offline devices be put into the port list (such as dummy display) */
kPLIncludeOfflineDevicesBit = 0
};
typedef unsigned long DMFidelityType;
/*
AVID is an ID for ports and devices the old DisplayID type
is carried on for compatibility
*/
typedef unsigned long AVIDType;
typedef AVIDType DisplayIDType;
typedef void *DMListType;
typedef unsigned long DMListIndexType;
typedef VDPowerStateRec AVPowerStateRec;
typedef VDPowerStateRec *AVPowerStatePtr;
struct DMComponentListEntryRec {
DisplayIDType itemID; /* DisplayID Manager*/
Component itemComponent; /* Component Manager*/
ComponentDescription itemDescription; /* We can always construct this if we use something beyond the compontent mgr.*/
ResType itemClass; /* Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)*/
DMFidelityType itemFidelity; /* How good is this item for the specified search?*/
ResType itemSubClass; /* Subclass of group to put this panel. Can use to do sub-grouping (eg volume for volume panel and mute panel)*/
Point itemSort; /* Set to 0 - future to sort the items in a sub group.*/
unsigned long itemFlags; /* Set to 0 (future expansion)*/
ResType itemReserved; /* What kind of code does the itemReference point to (right now - kPanelEntryTypeComponentMgr only)*/
unsigned long itemFuture1; /* Set to 0 (future expansion - probably an alternate code style)*/
unsigned long itemFuture2; /* Set to 0 (future expansion - probably an alternate code style)*/
unsigned long itemFuture3; /* Set to 0 (future expansion - probably an alternate code style)*/
unsigned long itemFuture4; /* Set to 0 (future expansion - probably an alternate code style)*/
extern pascal OSErr DMAddDisplay(GDHandle newDevice, short driver, unsigned long mode, unsigned long reserved, unsigned long displayID, Component displayComponent, Handle displayState)
THREEWORDINLINE(0x303C, 0x0D08, 0xABEB);
extern pascal OSErr DMMoveDisplay(GDHandle moveDevice, short x, short y, Handle displayState)
extern pascal OSErr DMSetDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long *depthMode, unsigned long reserved, Handle displayState)
THREEWORDINLINE(0x303C, 0x0A11, 0xABEB);
extern pascal OSErr DMCheckDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long depthMode, unsigned long *switchFlags, unsigned long reserved, Boolean *modeOk)